package com.elrichuang.userserver.mapper;

import com.elrichuang.userserver.domain.Candidate;
import com.elrichuang.userserver.domain.bo.CandidateQueryBo;
import com.elrichuang.userserver.domain.vo.CandidatePageVo;
import com.elrichuang.userserver.domain.vo.CandidateStatusRowVo;
import com.elrichuang.userserver.domain.vo.CandidateVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;

import com.axdj.common.core.page.BaseMapperPlus;
import java.util.List;

/**
 * 求职者信息Mapper接口
 *
 * @author elric
 * @date 2022-03-01
 */
public interface CandidateMapper extends BaseMapperPlus<Candidate> {

	/**
	 * 获取求职者信息详细信息
	 *
	 * @param candidateId 求职者ID
	 * @return 查询结果
	 */
	CandidateVo selectVoById(Long candidateId);

	/**
	 * 根据手机号获取求职者信息详细信息
	 *
	 * @param mobile   手机号
	 * @return 查询结果
	 */
	CandidateVo selectVoByMobile(String mobile);

	/**
	 * 根据筛选条件分页查询客户列表
	 *
	 * @param page mp分页对象
	 * @param bo   筛选参数
	 * @return 分页查询结果
	 */
	Page<CandidatePageVo> selectPageVoList(@Param("page") Page<CandidatePageVo> page,
										   @Param("bo") CandidateQueryBo bo);

	/**
	 * 获取所有状态统计
	 * @param bo 筛选参数
	 * @return 查询结果
	 */
	List<CandidateStatusRowVo> selectAllStatus(@Param("bo") CandidateQueryBo bo);
}
